package com.example.demo.netty.protocol;

import java.util.HashMap;

public class TestMessageCodec {

    public static void test(){
        HashMap<String, String> map = new HashMap<>();
        map.remove("1");
    }
    public static void main(String[] args) throws Exception {

        test();
//        // 帧解码器 解决粘包半包问题
//        LengthFieldBasedFrameDecoder frameDecoder = new LengthFieldBasedFrameDecoder(
//                                                    1024,
//                                                    12,
//                                                    4,
//                                                    0,
//                                                    0);
//        EmbeddedChannel channel = new EmbeddedChannel(
//                new LoggingHandler(),
////                frameDecoder,
//                new MessageCodecSharable());
//
//        LoginRequestMessage message = new LoginRequestMessage("zhangsan", "123");
//
//        // decode
//        channel.writeOutbound(message);
//
//        ByteBuf buffer = ByteBufAllocator.DEFAULT.buffer();
//
//        new MessageCodec().encode(null,message,buffer);
//
//        channel.writeInbound(buffer);
//        ByteBuf buf1 = buffer.slice(0, 100);
//        ByteBuf buf2 = buffer.slice(100, buffer.readableBytes() - 100);
//        // 引用计算+1
//        buf1.retain();
//        // writeInbound调用完成后会调用release方法使得引用计数为0
//        channel.writeInbound(buf1);
//        channel.writeInbound(buf2);
    }
}
